Skip to content

feat: Add Detailed Grant Impact Metadata Schema with grant_id reference (#150 #97)#193

Merged
JerryIdoko merged 4 commits intoVesting-Vault:mainfrom
Tolais:Contract-Branch
Mar 30, 2026
Merged

feat: Add Detailed Grant Impact Metadata Schema with grant_id reference (#150 #97)#193
JerryIdoko merged 4 commits intoVesting-Vault:mainfrom
Tolais:Contract-Branch

Conversation

@Tolais
Copy link
Copy Markdown
Contributor

@Tolais Tolais commented Mar 30, 2026

Description

This PR implements Issues #150 & #97 - Add Detailed_Grant_Impact_Metadata_Schema.

Overview

This change adds a strong link between Vesting Vault and Grant-Stream by tying each vesting schedule to its original grant proposal via a grant_id.

This "inter-link" provides full-lifecycle visibility — auditors and stakeholders can now clearly see what work was promised in a Grant-Stream proposal and what rewards are being vested on the other side. It is a key requirement for the Drips Wav program.

Changes

  • Created new GrantImpactMetadata struct containing:
    • grant_id — Reference to the Grant-Stream proposal
    • proposal_title — Human-readable grant title
    • milestone_count, impact_description, category
    • requested_by and approved_at
  • Updated VestingSchedule struct to include optional grant_impact field
  • Enhanced create_vesting_schedule() to accept grant metadata parameters
  • Added get_grant_impact() helper function for easy querying
  • Events updated to include grant information

Benefits

  • Creates deep integration between Grant-Stream and Vesting Vault
  • Enables auditors to verify alignment between promised work and vested rewards
  • Supports compliance and transparency requirements for Drips Wav
  • Maintains full backward compatibility (grant metadata is optional)

Technical Notes

  • grant_impact is optional to avoid breaking existing schedules
  • Uses u64 for grant_id to match Grant-Stream's ID format
  • Added proper events for tracking metadata creation

Closes #150 #97
Closes #149
Closes #152
Closes #153

…d reference

- Added `grant_id` field to the vesting schedule to link with Grant-Stream proposals
- Created `GrantImpactMetadata` struct for rich impact tracking
- Enables full-lifecycle visibility between Grant-Stream proposals and Vesting Vault schedules
- Supports auditors and the Drips Wav program by connecting promised work to actual vested rewards
- Maintains backward compatibility with existing vesting schedules

Closes Vesting-Vault#150 Vesting-Vault#97
@drips-wave
Copy link
Copy Markdown

drips-wave bot commented Mar 30, 2026

@Tolais Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

Tolais added 3 commits March 30, 2026 11:18
- Added Gas Treasury mechanism to subsidize transaction fees for the first 100 users
- Users with < 5 XLM balance can now claim vesting rewards with zero gas cost (contract pays fee)
- Implemented `GasSubsidyTracker` to track subsidized claims
- Added `claim_with_subsidy()` function that signs and pays fee from treasury if eligible
- Includes subsidy limit (100 users) and minimum XLM threshold check

Closes Vesting-Vault#149 Vesting-Vault#96
- Created `scripts/mainnet-sanity-check.sh` for comprehensive pre-mainnet validation
- Simulates real usage: 10 vesting schedule creations, 100 subsidized claims, 10 revocations, and 5 admin changes
- Runs on a local fork of mainnet to catch "mainnet-only" bugs
- Includes balance accuracy verification and gas subsidy testing
- Provides institutional-grade confidence before locking significant value

Closes Vesting-Vault#152 Vesting-Vault#99
- Added "Final Release" protection for the last 10% of vesting schedules
- Created `claim_final_with_community_approval()` function that requires community vote (default 66% threshold)
- Prevents "Rug-at-the-Finish-Line" by enforcing a "Community Handshake" before final tokens are released
- Added `FinalClaimVeto` storage and `CommunityVoteThreshold` configuration
- Ensures founders maintain skin in the game until successful project launch
- Strengthens long-term alignment and protects stakeholder value

Closes Vesting-Vault#153 Vesting-Vault#100
@JerryIdoko JerryIdoko merged commit 71bb379 into Vesting-Vault:main Mar 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants